home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / dev / gg / ncurses-5.3.lha / ncurses-5.3 / man / make_sed.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  2002-10-24  |  3KB  |  84 lines

  1. #!/bin/sh
  2. # $Id: make_sed.sh,v 1.5 1998/02/11 12:13:48 tom Exp $
  3. ##############################################################################
  4. # Copyright (c) 1998 Free Software Foundation, Inc.                          #
  5. #                                                                            #
  6. # Permission is hereby granted, free of charge, to any person obtaining a    #
  7. # copy of this software and associated documentation files (the "Software"), #
  8. # to deal in the Software without restriction, including without limitation  #
  9. # the rights to use, copy, modify, merge, publish, distribute, distribute    #
  10. # with modifications, sublicense, and/or sell copies of the Software, and to #
  11. # permit persons to whom the Software is furnished to do so, subject to the  #
  12. # following conditions:                                                      #
  13. #                                                                            #
  14. # The above copyright notice and this permission notice shall be included in #
  15. # all copies or substantial portions of the Software.                        #
  16. #                                                                            #
  17. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
  18. # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
  19. # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
  20. # THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
  21. # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
  22. # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
  23. # DEALINGS IN THE SOFTWARE.                                                  #
  24. #                                                                            #
  25. # Except as contained in this notice, the name(s) of the above copyright     #
  26. # holders shall not be used in advertising or otherwise to promote the sale, #
  27. # use or other dealings in this Software without prior written               #
  28. # authorization.                                                             #
  29. ##############################################################################
  30. #
  31. # Author: Thomas E. Dickey <dickey@clark.net> 1997
  32. #
  33. # Construct a sed-script to perform renaming within man-pages.  Originally
  34. # written in much simpler form, this one accounts for the common cases of
  35. # section-names in man-pages.
  36.  
  37. if test $# != 1 ; then
  38.     echo '? expected a single filename'
  39.     exit 1
  40. fi
  41.  
  42. COL=col$$
  43. INPUT=input$$
  44. UPPER=upper$$
  45. SCRIPT=script$$
  46. RESULT=result$$
  47. rm -f $UPPER $SCRIPT $RESULT
  48. trap "rm -f $COL.* $INPUT $UPPER $SCRIPT $RESULT" 0 1 2 5 15
  49. fgrep -v \# $1 | \
  50. sed    -e 's/[    ]\+/    /g' >$INPUT
  51.  
  52. for F in 1 2 3 4
  53. do
  54. sed    -e 's/\./    /g' $INPUT | \
  55. cut    -f $F > $COL.$F
  56. done
  57. for F in 2 4
  58. do
  59.     tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ <$COL.$F >$UPPER
  60.     mv $UPPER $COL.$F 
  61. done
  62. paste $COL.* | \
  63. sed    -e 's/^/s\/\\</' \
  64.     -e 's/$/\//' >$UPPER
  65.  
  66. # Do the TH lines
  67. sed    -e 's/\//\/TH /' \
  68.     -e 's/    / /' \
  69.     -e 's/    / ""\/TH /' \
  70.     -e 's/    / /' \
  71.     -e 's/\/$/ ""\//' \
  72.     $UPPER >>$RESULT
  73.  
  74. # Do the embedded references
  75. sed    -e 's/</<fB/' \
  76.     -e 's/    /\\\\fR(/' \
  77.     -e 's/    /)\/fB/' \
  78.     -e 's/    /\\\\fR(/' \
  79.     -e 's/\/$/)\//' \
  80.     $UPPER >>$RESULT
  81.  
  82. # Finally, send the result to standard output
  83. cat $RESULT
  84.